<?php
    /**
     * @class  popupAdminView
     * @author XESCHOOL Revised for use in v1.5 (xeschool@gmail.com) 
     * @brief  admin view class of the popup module 
     **/

    class popupAdminView extends popup {
		
		/**
         * @brief 초기화 Initialization
         **/
        function init() {

            // 템플릿 경로 설정 Set the template path
            $this->setTemplatePath($this->module_path.'tpl');
        }

        /**
         * @brief 팝업 목록 보기
         **/
		function dispPopupAdminContentList() {

            // 페이지 옵션 option to get a list
            $args->page = Context::get('page'); 
            $args->list_count = 20; 
            $args->page_count = 10;
			$args->order_type = 'desc';

            // 목록 구하기 get a list
            $oPopupAdminModel = &getAdminModel('popup');
            $output = $oPopupAdminModel->getPopupContentList($args);

            if(!$output->data) $output->data = array();

            // 템플릿 세팅
			Context::set('total_count', $output->total_count);
            Context::set('total_page', $output->total_page);
            Context::set('page', $output->page);
            Context::set('page_navigation', $output->page_navigation);

			Context::set('popup_list', $output->data);

            // 템플릿 파일 지정
            $this->setTemplateFile('popup_list');
		}

         /**
          * @brief 팝업 등록/수정하기
          **/
		 function dispPopupAdminInsertPopup() {

			// admin model 객체생성
			$oPopupAdminModel = &getAdminModel('popup');

			// popup_srl 확인
			$popup_srl = Context::get('popup_srl');

			// popup_srl이 있으면 
            if($popup_srl) {

				// 조회결과를 $popup_info에 세팅
				$popup_info = $oPopupAdminModel->getInfoByPopupSrl($popup_srl);

			}else{
				$popup_info->popup_type = 'content';
			}

            Context::set('popup_info', $popup_info);
			
			// 대상 모듈 목록 가져오기
			$oModuleModel = &getModel('module');

            $site_module_info = Context::get('site_module_info');
            $args->site_srl = $site_module_info->site_srl;
			$args->sort_index = 'module';
			$target_modules = $oModuleModel->getMidList($args);

            Context::set('target_modules', $target_modules);

			// 에디터 설정
			$output = $oModuleModel->getModuleSrlByMid($this->module);
			$document_srl = $popup_info->document_srl;
            $oDocumentModel = &getModel('document');
            $oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
			$oDocument->add('module_srl', array_pop($output));

            Context::set('oDocument', $oDocument);
            Context::set('mid', $output->mid);

            // 템플릿 파일 지정
            $this->setTemplateFile('popup_insert');
		 }

		/**
		* @brief 팝업 삭제하기
		**/
		function dispPopupAdminDeletePopup() {

			// popup_srl이 없는 경우 목록보기로 이동
			if(!Context::get('popup_srl')) return $this->dispPopupAdminContentList();

			// 삭제할 팝업 정보 확인
			$args->popup_srl = Context::get('popup_srl');

			$output = executeQuery('popup.getPopupContent', $args);
			if(!$output->data) return $this->stop('msg_invalid_request');

			if (is_array($output->data)) $popup_module = array_pop($output->data);
			else $popup_module = $output->data;

			Context::set('popup_module', $popup_module);

			// 템플릿 파일 지정
			$this->setTemplateFile('popup_delete');
		}

	}
?>